/**************************************************************************
 *
 *                Admin Over IM
 *
 **************************************************************************
 *  <Copyright>
 *    Copyright (C) 2008  Basov Alexander
 *
 *  <Unit> iqfactory.h
 *    <Purpose>
 *    <Effects>
 *    <Perfomance>
 **************************************************************************
 *  $Revision: 125 $ $Author: coopht $
 *  $Date: 2008-03-10 14:56:35 +0000 (Mon, 10 Mar 2008) $
 **************************************************************************/

#ifndef __IQFACTORY_H_
#define __IQFACTORY_H_

#include <string>

#include "iq.h"

using std::string;

struct IQAttrs
{
  string typeAttr;
  string fromAttr;
  string toAttr;
  string idAttr;
  string query;
};

class IqFactory
{  
public:
  IqFactory () {};
  IQ* create (const IQAttrs val);

  static IQAttrs emptyAttrs () 
  {
    IQAttrs result;
    result.typeAttr = "";
    result.fromAttr = "";
    result.toAttr = "";
    result.idAttr = "";
    return result;
  };
  
};

#endif // __IQFACTORY_H_ 
